<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class FechasHelper extends AppHelper
{
    /*
     * Funcion doFecha
     * cambia el formato de la fecha aaaa-mm-dd a dd/mm/aaaa
     */

    function doFecha($fecha)
    {
        $arreglo_cadena = explode("-", $fecha);
        $arreglo = $arreglo_cadena[2] . '/' . $arreglo_cadena[1] . '/' . $arreglo_cadena[0];
        return $arreglo;
    }

    /*
     * funcion muestra fecha como Jueves, 13 de enero de 2013
     */

    function actual_date()
    {
        $week_days = array("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado");
        $months = array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
        $year_now = date("Y");
        $month_now = date("n");
        $day_now = date("j");
        $week_day_now = date("w");
        $date = $week_days[$week_day_now] . ", " . $day_now . " de " . $months[$month_now] . " de " . $year_now;
        return $date;
    }

    /**
     * Funcion que emite la edad de la fecha de nacimiento 1995-01-31 (Ano/mes/dia) a 18
     *
     * @param date $fecha fecha 23-03-1995
     * @return char $fecha_texto Jueves 10 de Octubre de 2013
     */
    function doFechaEs($fecha = null)
    {
        $subfecha = split("-", $fecha);
        for ($i = 0; $subfecha[$i]; $i++)
            ;
        $año = $subfecha[0];
        $mes = $subfecha[1];
        $dia = $subfecha[2];

        $dia2 = date("d", mktime(0, 0, 0, $mes, $dia, $año));
        $mes2 = date("m", mktime(0, 0, 0, $mes, $dia, $año));
        $año2 = date("Y", mktime(0, 0, 0, $mes, $dia, $año));
        $dia_sem = date("w", mktime(0, 0, 0, $mes, $dia, $año));

        switch ($dia_sem)
        {
            case "0":   // Bloque 1 
                $dia_sem3 = 'Domingo';
                break;
            case "1":   // Bloque 1 
                $dia_sem3 = 'Lunes';
                break;
            case "2":   // Bloque 1 
                $dia_sem3 = 'Martes';
                break;
            case "3":   // Bloque 1 
                $dia_sem3 = 'Miercoles';
                break;
            case "4":   // Bloque 1 
                $dia_sem3 = 'Jueves';
                break;
            case "5":   // Bloque 1 
                $dia_sem3 = 'Viernes';
                break;
            case "6":   // Bloque 1 
                $dia_sem3 = 'Sabado';
                break;
            default:   // Bloque 3 
        };

        switch ($mes2)
        {
            case "1":   // Bloque 1 
                $mes3 = 'Enero';
                break;
            case "2":   // Bloque 1 
                $mes3 = 'Febrero';
                break;
            case "3":   // Bloque 1 
                $mes3 = 'Marzo';
                break;
            case "4":   // Bloque 1 
                $mes3 = 'Abril';
                break;
            case "5":   // Bloque 1 
                $mes3 = 'Mayo';
                break;
            case "6":   // Bloque 1 
                $mes3 = 'Junio';
                break;
            case "7":   // Bloque 1 
                $mes3 = 'Julio';
                break;
            case "8":   // Bloque 1 
                $mes3 = 'Agosto';
                break;
            case "9":   // Bloque 1 
                $mes3 = 'Septiembre';
                break;
            case "10":   // Bloque 1 
                $mes3 = 'Octubre';
                break;
            case "11":   // Bloque 1 
                $mes3 = 'Noviembre';
                break;
            case "12":   // Bloque 1 
                $mes3 = 'Diciembre';
                break;
            default:   // Bloque 3 
                break;
        };


        $fecha_texto = $dia_sem3 . ' ' . $dia2 . ' ' . 'de' . ' ' . $mes3 . ' ' . 'de' . ' ' . $año2;

        return $fecha_texto;
    }

    /**
     * Funcion que emite la edad de la fecha de nacimiento 1995-01-31 (Ano/mes/dia) a 18
     *
     * @param date $fecha fecha 23-03-1995
     * @return edad en formato 18
     */
    public function calculaEdad($fecha = null)
    {
        $dias = explode("-", $fecha, 3);
        $dias = mktime(0, 0, 0, $dias[1], $dias[2], $dias[0]);
        $edad = (int) ((time() - $dias) / 31556926 );
        return $edad;
    }

}

?>
